package com.lizard.schedule.manager.umeng;

import android.content.Context;

import com.lizard.schedule.log.ScheduleLog;
import com.lizard.schedule.utils.ScheduleUtil;
import com.umeng.analytics.AnalyticsConfig;
import com.umeng.analytics.MobclickAgent;

/**
 * 友盟相关操作在这里封装管理
 */
public class UmengManager {

    private final String TAG = UmengManager.class.getSimpleName();

    private static UmengManager instance;

    public static UmengManager getInstance(){
        if(instance == null){
            synchronized (UmengManager.class){
                if(instance == null){
                    instance = new UmengManager();
                }
            }
        }
        return instance;
    }

    /**
     * 初始化
     */
    public void init() {
        // 是否使用友盟默认的页面统计方式(默认页面统计方式适用于程序只由Activity构成)
        MobclickAgent.openActivityDurationTrack(false);
        // 设置是否对日志信息进行加密, 默认false(不加密).
        AnalyticsConfig.enableEncrypt(true);
    }

    /**
     * 友盟session统计 在每个Activity中的onResume中调用
     *
     * @param context
     */
    public void onResume(Context context){
        MobclickAgent.onResume(context);
        ScheduleLog.v(TAG, "onResume");
    }

    /**
     * 友盟session统计 在每个Activity中的onPause中调用
     *
     * @param context
     */
    public void onPause(Context context){
        MobclickAgent.onPause(context);
        ScheduleLog.v(TAG, "onPause");
    }

    /**
     * 程序调用Process.kill或者System.exit之类的方法杀死进程前调用友盟方法保存数据
     *
     * @param context
     */
    public void onKillProcess(Context context){
        MobclickAgent.onKillProcess(context);
    }

}
